export interface CouponTemplateVO {
  /**
   * ID
   */
  id: string | number;

  /**
   * 优惠劵名
   */
  name: string;

  /**
   * 状态
   */
  status: number;

  /**
   * 领取方式
   */
  takeType: number;

  /**
   * 发放数量, -1 - 则表示不限制
   */
  totalCount: number;

  /**
   * 每人限领个数, -1 - 则表示不限制
   */
  takeLimitCount: number;

  /**
   * 领取优惠券的数量
   */
  takeCount: number;

  /**
   * 使用优惠券的次数
   */
  useCount: number;

  /**
   * 是否设置满多少金额可用，单位：分
   */
  usePrice: number;

  /**
   * 商品范围
   */
  productScope: number;

  /**
   * 商品范围编号的数组
   */
  productScopeValues: any;

  /**
   * 生效日期类型
   */
  validityType: string | number;

  /**
   * 固定日期-生效开始时间
   */
  validStartTime: string | number;

  /**
   * 固定日期-生效结束时间
   */
  validEndTime: string | number;

  /**
   * 领取日期-开始天数
   */
  fixedStartTerm: number;

  /**
   * 领取日期-结束天数
   */
  fixedEndTerm: number;

  /**
   * 优惠类型1-代金劵2-折扣劵
3-小时卷4-次数卷
   */
  type: number;

  /**
   * 平台类型1-自营2-美团3-抖音4-快手
   */
  plateType: number;

  /**
   * 第三方平台ID
   */
  thirdPlateId: string;

  /**
   * 卡券类型-小时卷特有属性,设置小时数
   */
  hourCount: number;

  /**
   * 折扣类型
   */
  discountType: number;

  /**
   * 折扣百分比
   */
  discountPercent: number;

  /**
   * 优惠金额，单位：分
   */
  discountPrice: number;

  /**
   * 折扣上限，仅在discount_type等于 2 时生效
   */
  discountLimitPrice: number;

  /**
   * 备注
   */
  remark: string;

  /**
   * 星期掩码
   */
  validDays: number;

  /**
   * 可用开始时间
   */
  useStartTime: string | number;
  /**
   * 可用结束时间
   */
  useEndTime: string | number;
  /**
   * 业务类型
   */
  businessType: string | number;
}

export interface CouponTemplateForm extends BaseEntity {
  /**
   * ID
   */
  id?: string | number;

  /**
   * 优惠劵名
   */
  name?: string;

  /**
   * 状态
   */
  status?: number;

  /**
   * 领取方式
   */
  takeType?: number;

  /**
   * 发放数量, -1 - 则表示不限制
   */
  totalCount?: number;

  /**
   * 每人限领个数, -1 - 则表示不限制
   */
  takeLimitCount?: number;

  /**
   * 领取优惠券的数量
   */
  takeCount?: number;

  /**
   * 使用优惠券的次数
   */
  useCount?: number;

  /**
   * 是否设置满多少金额可用，单位：分
   */
  usePrice?: number | string;

  /**
   * 商品范围
   */
  productScope?: number;

  /**
   * 商品范围编号的数组
   */
  productScopeValues?: any;

  /**
   * 生效日期类型
   */
  validityType?: string | number;

  /**
   * 固定日期-生效开始时间
   */
  validStartTime?: string | number;

  /**
   * 固定日期-生效结束时间
   */
  validEndTime?: string | number;

  /**
   * 领取日期-开始天数
   */
  fixedStartTerm?: number;

  /**
   * 领取日期-结束天数
   */
  fixedEndTerm?: number;

  /**
   * 优惠类型1-代金劵2-折扣劵
3-小时卷4-次数卷
   */
  type?: number;

  /**
   * 平台类型1-自营2-美团3-抖音4-快手
   */
  plateType?: number;

  /**
   * 第三方平台ID
   */
  thirdPlateId?: string;

  /**
   * 卡券类型-小时卷特有属性,设置小时数
   */
  hourCount?: number;

  /**
   * 折扣类型
   */
  discountType?: number;

  /**
   * 折扣百分比
   */
  discountPercent?: number;

  /**
   * 优惠金额，单位：分
   */
  discountPrice?: number | string;

  /**
   * 折扣上限，仅在discount_type等于 2 时生效
   */
  discountLimitPrice?: number | string;

  /**
   * 备注
   */
  remark?: string;

  validTimes?: any;

  roomIds?: any;

  regionalIds?: any;

  validDays?: number;

  useTimeRange?: any;

  validDaysMask?: any;

  useStartTime?: string | number;

  useEndTime?: string | number;

  businessType?: string | number;
}

export interface CouponTemplateQuery extends PageQuery {
  /**
   * 优惠劵名
   */
  name?: string;

  /**
   * 状态
   */
  status?: number;

  /**
   * 领取方式
   */
  takeType?: number;

  /**
   * 发放数量, -1 - 则表示不限制
   */
  totalCount?: number;

  /**
   * 每人限领个数, -1 - 则表示不限制
   */
  takeLimitCount?: number;

  /**
   * 领取优惠券的数量
   */
  takeCount?: number;

  /**
   * 使用优惠券的次数
   */
  useCount?: number;

  /**
   * 是否设置满多少金额可用，单位：分
   */
  usePrice?: number;

  /**
   * 商品范围
   */
  productScope?: number;

  /**
   * 商品范围编号的数组
   */
  productScopeValues?: any;

  /**
   * 生效日期类型
   */
  validityType?: string | number;

  /**
   * 固定日期-生效开始时间
   */
  validStartTime?: string | number;

  /**
   * 固定日期-生效结束时间
   */
  validEndTime?: string | number;

  /**
   * 领取日期-开始天数
   */
  fixedStartTerm?: number;

  /**
   * 领取日期-结束天数
   */
  fixedEndTerm?: number;

  /**
   * 优惠类型1-代金劵2-折扣劵
3-小时卷4-次数卷
   */
  type?: number;

  /**
   * 平台类型1-自营2-美团3-抖音4-快手
   */
  plateType?: number;

  /**
   * 第三方平台ID
   */
  thirdPlateId?: string;

  /**
   * 卡券类型-小时卷特有属性,设置小时数
   */
  hourCount?: number;

  /**
   * 折扣类型
   */
  discountType?: number;

  /**
   * 折扣百分比
   */
  discountPercent?: number;

  /**
   * 优惠金额，单位：分
   */
  discountPrice?: number;

  /**
   * 折扣上限，仅在discount_type等于 2 时生效
   */
  discountLimitPrice?: number;

  /**
   * 日期范围参数
   */
  params?: any;

  validTimes?: any;

  roomIds?: any;

  regionalIds?: any;

  validDays?: any;

  useTimeRange?: any;

  validDaysMask?: any;

  useStartTime?: string | number;

  useEndTime?: string | number;

  businessType?: string | number;
}

/**
 * 优惠劵模板类型枚举
 */
export const CouponTemplateTypeEnum = {
  DJJ: {
    type: 1,
    name: '代金卷'
  },
  ZKJ: {
    type: 2,
    name: '折扣卷'
  },
  XSJ: {
    type: 3,
    name: '小时卷'
  },
  CSJ: {
    type: 4,
    name: '次数卷'
  }
};

/**
 * 优惠劵模板平台类型枚举
 */
export const CouponTemplatePlateTypeEnum = {
  ZY: {
    type: 1,
    name: '自营'
  },
  MT: {
    type: 2,
    name: '美团'
  },
  DY: {
    type: 3,
    name: '抖音'
  },
  KS: {
    type: 4,
    name: '快手'
  }
};

/**
 * 优惠卷范围类型枚举
 */
export const CouponProceductScopeTypeEnum = {
  TY: {
    type: 1,
    name: '通用卷'
  },
  MD: {
    type: 2,
    name: '门店卷'
  },
  SP: {
    type: 3,
    name: '商品卷'
  }
};

/**
 * 优惠劵模板的有限期类型的枚举
 */
export const CouponTemplateValidityTypeEnum = {
  DATE: {
    type: 1,
    name: '固定日期可用'
  },
  TERM: {
    type: 2,
    name: '领取之后可用'
  }
};

/**
 * 优惠劵模板的领取方式的枚举
 */
export const CouponTemplateTakeTypeEnum = {
  USER: {
    type: 1,
    name: '直接领取'
  },
  ADMIN: {
    type: 2,
    name: '指定发放'
  },
  REGISTER: {
    type: 3,
    name: '新人券'
  }
};
